AWS CLIで利用可能なRDSインスタンスクラスとエンジンバージョンの組み合わせを取得する

目次

やりたいこと

Amazon RDSはインスタンスクラスによってサポートされているエンジンとエンジンバージョンに制限がある。
RDSとAuroraそれぞれのサポート状況は下記を確認できる。

これをAWS CLIで見やすい形式にして取得したい。

AWS CLIコマンド

インスタンスクラスとエンジン、エンジンバージョンの組み合わせは describe-orderable-db-instance-options コマンドで取得できる。

CLI だけ

--engine オプションのみ必須なので、インスタンスクラスかエンジンバージョンを指定すればそれぞれのサポート状況を確認できる。

$ aws rds describe-orderable-db-instance-options \
  --engine aurora-mysql \
  # --db-instance-class db.t4g.medium \
  --engine-version 8.0.mysql_aurora.3.02.2 \
  --query 'OrderableDBInstanceOptions[].[DBInstanceClass,EngineVersion]' \
  --output table
------------------------------------------------
|      DescribeOrderableDBInstanceOptions      |
+------------------+---------------------------+
|  db.r5.12xlarge  |  8.0.mysql_aurora.3.02.2  |
|  db.r5.16xlarge  |  8.0.mysql_aurora.3.02.2  |
|  db.r5.24xlarge  |  8.0.mysql_aurora.3.02.2  |
|  db.r5.2xlarge   |  8.0.mysql_aurora.3.02.2  |
|  db.r5.4xlarge   |  8.0.mysql_aurora.3.02.2  |
|                .....                         |
|  db.serverless   |  8.0.mysql_aurora.3.02.2  |
|  db.t3.large     |  8.0.mysql_aurora.3.02.2  |
|  db.t3.medium    |  8.0.mysql_aurora.3.02.2  |
|  db.t4g.large    |  8.0.mysql_aurora.3.02.2  |
|  db.t4g.medium   |  8.0.mysql_aurora.3.02.2  |
+------------------+---------------------------+

jq コマンドと組み合わせ

CLIだけでも十分だが、文字列マッチングなどで柔軟な取得をしたい場合はjqコマンドと組み合わせると便利。

jq Manual

$ aws rds describe-orderable-db-instance-options \
  --engine aurora-mysql \
  | jq -r '.OrderableDBInstanceOptions[] | select((.EngineVersion | test("8.0.mysql_aurora.3")) and (.DBInstanceClass | test("(small|medium)"))) | [.DBInstanceClass,.EngineVersion] | @tsv'
db.t3.medium    8.0.mysql_aurora.3.01.0
db.t4g.medium   8.0.mysql_aurora.3.01.0
db.t3.medium    8.0.mysql_aurora.3.01.1
db.t4g.medium   8.0.mysql_aurora.3.01.1
db.t3.medium    8.0.mysql_aurora.3.02.0
db.t4g.medium   8.0.mysql_aurora.3.02.0
db.t3.medium    8.0.mysql_aurora.3.02.1
db.t4g.medium   8.0.mysql_aurora.3.02.1
db.t3.medium    8.0.mysql_aurora.3.02.2
db.t4g.medium   8.0.mysql_aurora.3.02.2

基本的にドキュメントで確認可能だが、Terraformなどエンジンバージョンの正確な設定値がほしい場合に便利。

以上。

← Posts